package org.devocean.groupbuying.dao;

import java.util.List;

import org.devocean.groupbuying.domain.Plan;

public interface PlanDAO {

	public List<Plan> findAllPlans();

	public List<Plan> findAllPlans(String lang);

	public long countPlans();

	public List<Plan> findPlansEntries(int firstResult, int maxResults);

	public Plan findPlanById(Integer id);

	public void removePlan(int id);

	public Plan savePlan(Plan plan);

	public Plan updatePlan(Plan plan);

	public List<Plan> findPlansByProduct(Integer productID, String lang);

	public Plan findPlanByArticle(Integer articleID);

	public Plan findPlanByLang(Integer localizationKey,
			String localizationRequest);

	public Plan findPlanByArticleLocalization(Integer localizationKey);

}
